signature VCGEN_STRUCTS =
sig
  structure Ir : IR
  structure Irvc2vc : IRVC2VC
  sharing Ir = Irvc2vc.Ir
  sharing Ir.Atoms = Ir.Types.Atoms = Irvc2vc.Ir.Atoms = Irvc2vc.Vc.Atoms
end

signature VCGEN =
sig
  include VCGEN_STRUCTS
  
  val top : Ir.exdecnode -> (Ir.Atoms.Id.t * Ir.exp) list
end
